package com.demo.statemachine.d20;

import lombok.Getter;

@Getter
public enum TestEvents {
    IDLE_BUSY(), BUSY_IDLE(), BUSY_SUSPEND(), SUSPEND_HISTORY(),

    BUSY_T1_FORK(),

//***************************** 故障 *************************************************************************************

    IDLE_FAULT(), BUSY_FAULT(), HISTORY_FAULT(), SUSPEND_FAULT(),

    T1_FORK_FAULT(), T1_TASK_FAULT(), T1_JOIN_FAULT(), T1_CHOICE_FAULT(),
    T2_FORK_FAULT(), T2_TASK_FAULT(), T2_JOIN_FAULT(), T2_CHOICE_FAULT(),
    T3_FORK_FAULT(), T3_TASK_FAULT(), T3_JOIN_FAULT(), T3_CHOICE_FAULT(),
    T4_FORK_FAULT(), T4_TASK_FAULT(), T4_JOIN_FAULT(), T4_CHOICE_FAULT(),
    T5_FORK_FAULT(), T5_TASK_FAULT(), T5_JOIN_FAULT(), T5_CHOICE_FAULT(),
    T6_FORK_FAULT(), T6_TASK_FAULT(), T6_JOIN_FAULT(), T6_CHOICE_FAULT(),
    T7_FORK_FAULT(), T7_TASK_FAULT(), T7_JOIN_FAULT(), T7_CHOICE_FAULT(),
    T8_FORK_FAULT(), T8_TASK_FAULT(), T8_JOIN_FAULT(), T8_CHOICE_FAULT(),

    T1_TASK1_START_FAULT(),T1_TASK1_END_FAULT(),
    T2_TASK1_START_FAULT(),T2_TASK1_END_FAULT(),
    T3_TASK1_START_FAULT(),T3_TASK1_END_FAULT(),
    T4_TASK1_START_FAULT(),T4_TASK1_END_FAULT(),
    T5_TASK1_START_FAULT(),T5_TASK1_END_FAULT(),
    T6_TASK1_START_FAULT(),T6_TASK1_END_FAULT(),
    T7_TASK1_START_FAULT(),T7_TASK1_END_FAULT(),
    T8_TASK1_START_FAULT(),T8_TASK1_END_FAULT(),

    BUSY_START_T1_FORK(),
    T1_TASK1_START_STEP1(),T1_TASK1_STEP1_STEP2(),T1_TASK1_STEP2_STEP3(),T1_TASK1_STEP3_END(),T1_JOIN_CHOICE(),
    T2_TASK1_START_STEP1(),T2_TASK1_STEP1_STEP2(),T2_TASK1_STEP2_STEP3(),T2_TASK1_STEP3_END(),T2_JOIN_CHOICE(),
    T3_TASK1_START_STEP1(),T3_TASK1_STEP1_STEP2(),T3_TASK1_STEP2_STEP3(),T3_TASK1_STEP3_END(),T3_JOIN_CHOICE(),
    T4_TASK1_START_STEP1(),T4_TASK1_STEP1_STEP2(),T4_TASK1_STEP2_STEP3(),T4_TASK1_STEP3_END(),T4_JOIN_CHOICE(),
    T5_TASK1_START_STEP1(),T5_TASK1_STEP1_STEP2(),T5_TASK1_STEP2_STEP3(),T5_TASK1_STEP3_END(),T5_JOIN_CHOICE(),
    T6_TASK1_START_STEP1(),T6_TASK1_STEP1_STEP2(),T6_TASK1_STEP2_STEP3(),T6_TASK1_STEP3_END(),T6_JOIN_CHOICE(),
    T7_TASK1_START_STEP1(),T7_TASK1_STEP1_STEP2(),T7_TASK1_STEP2_STEP3(),T7_TASK1_STEP3_END(),T7_JOIN_CHOICE(),
    T8_TASK1_START_STEP1(),T8_TASK1_STEP1_STEP2(),T8_TASK1_STEP2_STEP3(),T8_TASK1_STEP3_END(),T8_JOIN_CHOICE(),
    ;


    private Integer index;
    private String name;
    private String comment;

    private TestEvents() {

    }

    private TestEvents(Integer index, String name, String comment) {
        this.index = index;
        this.name = name;
        this.comment = comment;
    }

    private TestEvents(String name, String comment) {
        this.name = name;
        this.comment = comment;
    }

    private TestEvents(String comment) {
        this.index = index;
        this.comment = comment;
    }
}
